home *** CD-ROM | disk | FTP | other *** search
/ Network CD 1 / Network CD.iso / tbag / 1-10 / tb3 / doc-files / utilities-doc / dirutil.doc < prev    next >
Text File  |  1985-11-25  |  13KB  |  233 lines

  1.           D I R U T I L   I I I   - a file/disk utility program
  2.                 Original Version by Chris Nicotra
  3.                 Revisions/Enhancements/Fixes by Dave Jobusch
  4.                 More Revisions/Enhancements/Fixes by Nathan Barber 
  5.  
  6. *********************************************************************
  7. * READ the bottom of this file if you already know how to run the   *
  8. * other versions of this program!                                   *
  9. *********************************************************************
  10.  
  11.    A feature that I really like is being able to get a screen 
  12. display of ASCII files from programs like "Sweep".  The only 
  13. version of DirUtil that has ever had this lacked the numerous 
  14. gadget buttons of this version.  Unfortunately, on that version, 
  15. the individual that added the TYPE feature, decided to keep the 
  16. code.  It's a pity, he had a good implimentation.  When I found this 
  17. version on a local board,  there were only two things that I didn't like. 
  18. The lack of a TYPE was one.  The other is that I have three floppies on my 
  19. Amiga, but the utility only had gadgets for df0: and df1:.  Well, now it 
  20. supports df2:.  When I compiled the code, I got over 50 compiler warnings, 
  21. I cleaned up over half of them and, hopefully, didn't add any new ones. 
  22. Don't worry about the warnings, the code compiles and links fine -- it's 
  23. just that I got tired of looking for errors in midst of the field of 
  24. warnings. It compiled fine with Lattice 3.03 and Manx 3.2
  25.  
  26.         This program is in the public domain. That means you can't
  27.         sell the damn thing to anyone, and further more, I doubt
  28.         you'd get much for it. As a matter of fact, I beat this
  29.         thing to death for 2 weeks, and it still isn't perfect,
  30.         but it works. I got the original program from a BBS 
  31.         in Omaha, and do not know who Chris Nicotra is.
  32.  
  33.         Instructions:
  34.         Click on file or directory names in the file window to 
  35.         select a file to take action on. Click on one of the
  36.         many gadgets to take the selected action on the selected
  37.         files/directory (yes, only one directory at a time).
  38.         The three string gadgets at the bottom are:
  39.  
  40.                 S: The current directory. Mess with this. If you
  41.                    enter an existing path, you just selected the
  42.                    new current directory.
  43.                 D: The destination gadget. This one is used to enter
  44.                    destination directories, and is also where you
  45.                    enter requests for directories to create.
  46.                 E: The string to be passed to any file you EXEC.    
  47.  
  48.         df0:,df1:,df2,ram:,hd0:,hd1:,hd2: --->
  49.                 Set current directory to the root of the selected device.
  50.  
  51.         ALL --->
  52.                 Select ALL files in the current directory, including
  53.                 the ones "scrolled off" the window.
  54.         CLEAR --->
  55.                 De-select all selected files
  56.         COPY --->
  57.                 Copy selected files to the directory specified in the
  58.                 second string gadget. Mind you, you CANNOT enter a
  59.                 filename here. It must be an existing directory 
  60.                 path and CAN go across devices. You should be able
  61.                 to enter paths relative to the current directory.
  62.                 (I think I fixed that...) 
  63.         DELETE --->
  64.                 Delete selected files. Will not delete directories.
  65.         RENAME --->
  66.                 Renames first selected file or directory to the name
  67.                 or path (on the same device) in the D string gadget.
  68.         GETDIR --->
  69.                 If you want to go to a new directory, select
  70.                 a directory in the file window, and click on this
  71.                 gadget. DO NOT USE this to get a directory that is
  72.                 listed in the first string gadget! If you must type
  73.                 it in, you hit return while in the string gadget -
  74.                 then that will be your new current directory.
  75.         MAKEDIR --->
  76.                 This will create the directory that you have typed in
  77.                 the second string gadget. You MAY use relative paths.
  78.         DELETEDIR --->
  79.                 This will delete the non-empty diretory that you have
  80.                 selected in the file window. You will get and error
  81.                 if the directory is not empty.
  82.         PARENT --->
  83.                 Go to the parent directory
  84.         ROOT --->
  85.                 Go to the root of the current device
  86.         TYPE --->
  87.                 Use this to view standard ASCII (readme, docs, etc) on
  88.                 stdout; usually your CRT.  Select the files you want to
  89.                 view, then select the TYPE gadget.  A new window, with 
  90.                 the window name being the file that you are currently
  91.                 viewing, will open.  Use the space bar to advance by one
  92.                 screen, a <CR> will advance one line.  Entering ESC will
  93.                 advance you to the end of that file.  The space bar will
  94.                 then exit from that file.  If you have selected to view
  95.                 more than one file, the next will automatically be
  96.                 displayed.  After all selected files have been viewed,
  97.                 the window will close, returning you to DirUtil's main
  98.                 screen.
  99.         HTYPE --->
  100.                 Types a file to the screen in HEX and ASCII 16 numbers
  101.                 at a time.
  102.         SINFO --->
  103.                 Used to show the number of USABLE bytes from the DEVICE 
  104.                 associated with the current directory (S).
  105.         DINFO --->         
  106.                 Used to show the number of USABLE bytes from the DEVICE 
  107.                 associated with the destination directory (D).
  108.         PRINT --->
  109.                 Same as TYPE, but the output goes to PRT:
  110.         SWAP --->
  111.                 Used to flip the S and D windows.
  112.         BYTE --->
  113.                 Adds up the number of bytes of the selected files and
  114.                 displays the sum and the number of files.  Remember
  115.                 that each file takes up 512 more bytes than indicated
  116.                 because of its directory entry.  
  117.         EXEC ---> 
  118.                 "RUNS" the selected files from inside DIRUTIL. If DIRUTIL
  119.                 was called from CLI, any output from the program is
  120.                 directed to the calling CLI.  Parameters may be passed
  121.                 to the program by entering them in the E window.
  122.         MOVE --->
  123.                 Same basic principle as RENAME, but assumes that you
  124.                 want to just move the file to a new directory, not
  125.                 actually rename it.  It will move multiple files from
  126.                 one directory to another.  The D gadget should have
  127.                 the destination path in it, NOT the whole filename
  128.                 as with RENAME.  MOVE will also move whole subdirectories
  129.                 to another subdirectory, or to ROOT. DO NOT put a / after
  130.                 the path name, MOVE adds it for you if needed.  MOVE is
  131.                 the recommended way to get a file from one place to
  132.                 another quickly since the directory need not be reloaded
  133.                 after the MOVE.
  134.         SEARCH --->
  135.                 Searchs the marked group of files for the pattern found
  136.                 in the E window.  Upper/lower ARE different. If the \
  137.                 character is found, the next two characters are converted
  138.                 into a single Hexadecimal digit and used as one
  139.                 character in the overall search.  The search pattern was
  140.                 limited to 60 max characters by choice.  The search has
  141.                 two modes, SLOW and FAST, which it will choose depending
  142.                 on how much memory is available in the machine. I HIGHLY
  143.                 recommend freeing up enough RAM to allow the FAST mode to
  144.                 run since the SLOW mode is AT LEAST 10 times slower.
  145.                 The SLOW mode search can be aborted by hitting the ESC
  146.                 key. The FAST mode cannot be aborted, it is so fast you
  147.                 will not mind the slight wait.
  148.         SHOWILBM --->
  149.                 If you select this to be included, the program will try
  150.                 to copy a SHOW command into the ram disk from SYS:C
  151.                 and lock it (to save it frlom accidental deletion), then
  152.                 will perform consecutive Execute's to show the selected
  153.                 files. The show command that has been floating around
  154.                 here needs you to click the upper left hand corner
  155.                 after showing each file - so there is no loop to wait
  156.                 for a picture to show. If SYS:C/SHOW does not exist,
  157.                 DIRUTIL will continue but will not allow the SHOW gadget
  158.                 to be clicked. 
  159.  
  160.         NEW NOTES: 6-Aug
  161.                 Because of a problem with locking and unlocking the
  162.                 current directory on a disk that had been removed,
  163.                 I had to make a change to what the program defaulted
  164.                 to (for a current directory).
  165.                 Changes made:
  166.                         - Initial current directory is ALWAYS set to RAM: 
  167.                         - if you really confuse it, it will go to RAM:
  168.                           rather than SYS:
  169.  
  170.                 I forgots :
  171.                         I neglected to mention a rather important feature.
  172.                         If you did something stupid like select all files
  173.                         and then hit delete, and suddenly realize that
  174.                         you REALLY didnt want to do that, there is a
  175.                         STOP IDIOT feature. When you are doing operations
  176.                         on a group of files, CLICKING ANYWHERE IN THE
  177.                         WINDOW WILL ABORT THE OPERATION.
  178.  
  179.  
  180.         This version incoorporates all the changes from previous hacks,
  181.         I call it DirUtil III since I was getting tired of saying 
  182.         DirUtil II v1.7 or something long-winded like that.  I have not
  183.         crashed it yet, but would appreciate knowing if all the functions
  184.         work with memory above 512K.
  185.  
  186.         As soon as I get the new Aztec compiler, I will use the new features
  187.         in it to compact and enhance the code some more. Specifically,
  188.         Aztec has a function that will eliminate the need to load the
  189.         SYS:c/Run command whenever an Execute() call is made. Unfortunately,
  190.         this command is buggy under Aztec 3.20a.
  191.  
  192.         This program is "HackerWare", a program that contains executable,
  193.         source, icon, and docs.  PLEASE keep all the files intact if you
  194.         upload the ARC file to another BBS or Information Service and give
  195.         credit where credit is due, Chris, Dave, and myself have worked hard
  196.         on the parts of this program to make it a smooth, efficient tool
  197.         and I hope you enjoy using it!
  198.  
  199.         One last thing, the simple make file in the ARC assumes that you
  200.         have an Aztec precompiled file called s/INT.  If you don't, you 
  201.         either 1> Have Aztec and are too stupid to use the precompiled
  202.         files to cut the compile time to ZIP. or 2>  You are really
  203.         bonkers and use Lattice!
  204.  
  205.         Here's a scenerio that results in a BIG bug that bit me squarely
  206.         in the butt after 4 hours of work!
  207.  
  208.         rename duIII.c duIII.c/duIII.c
  209.  
  210.         Yes, that means rename duIII.c to duIII.c in the subdirectory 
  211.         called duIII.c.  I know that that is not supposed to happen and
  212.         should fail, BUT, because of one time string concat. bug in Dirutil,
  213.     it did happen with TERRIBLE consequences. If the files involved were
  214.         in the RAM: disk, the ORIGINAL file is DELETED and the memory is
  215.         NOT deallocated, effectively crippling the machine and any work
  216.         you had done to that file.  If the file was on a floppy, it still
  217.         deletes the file and does not tell the DOS to free up the space,
  218.         effectively locking out mucho space on your disk and having God
  219.         only knows what other consequences later on down the road.  I
  220.         sure wish C-A would get it right in the future and I hope someone
  221.         with closer contacts to the "Gurus" will inform them of this
  222.         "oversight"! 
  223.  
  224.         For anyone interested, it takes the 68000 158+ cycles to do a
  225.         division and 70+ cycles to do a multiply. By changing all 
  226.         the division and multiplication in a program to >> and <<
  227.         shifts, you can save 150 cycles per instruction! (assuming you are
  228.         dividing by a base 2 number). I did this to the quicksort loops
  229.         and it helps greatly.
  230.         
  231.         Oh yeah, the great new icon is courtesy of Brian Gallivan.
  232.  
  233.